package com.lxmes.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 认证要求管理对象 nc_certification_requirements_management
 * 
 * @author lx
 * @date 2023-06-01
 */
@ApiModel(value = "NcCertificationRequirementsManagement", description = "认证要求管理对象")    
public class NcCertificationRequirementsManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 认证要求编号 */
    @Excel(name = "认证要求编号")
    @ApiModelProperty("认证要求编号")
    private String certificationRequirementNumber;

    /** 认证要求名称 */
    @Excel(name = "认证要求名称")
    @ApiModelProperty("认证要求名称")
    private String certificationRequirementName;

    /** 法规名称 */
    @Excel(name = "法规名称")
    @ApiModelProperty("法规名称")
    private String regulatoryName;

    /** 适用范围 */
    @Excel(name = "适用范围")
    @ApiModelProperty("适用范围")
    private String applicableScope;

    /** 内容概述 */
    @ApiModelProperty("内容概述")
    private String contentSummary;

    /** 强制性条款 */
    @Excel(name = "强制性条款")
    @ApiModelProperty("强制性条款")
    private String mandatoryClauses;

    /** 可选条款 */
    @Excel(name = "可选条款")
    @ApiModelProperty("可选条款")
    private String optionalClauses;

    /** 更新周期 */
    @Excel(name = "更新周期")
    @ApiModelProperty("更新周期")
    private String updateCycle;

    /** 实施记录 */
    @Excel(name = "实施记录")
    @ApiModelProperty("实施记录")
    private String implementationRecords;

    /** 描述 */
    @ApiModelProperty("描述")
    private String description;

    /** 适用范围相关文件 */
    @Excel(name = "适用范围相关文件")
    @ApiModelProperty("适用范围相关文件")
    private String applicableScopeRelatedFiles;

    /** 负责人 */
    @Excel(name = "负责人")
    @ApiModelProperty("负责人")
    private String responsiblePerson;

    /** 认证状态 */
    @Excel(name = "认证状态")
    @ApiModelProperty("认证状态")
    private String certificationStatus;

    /** 截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("截止日期")
    private Date deadline;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setFactoryName(String factoryName) 
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName() 
    {
        return factoryName;
    }
    public void setFactoryCode(String factoryCode) 
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode() 
    {
        return factoryCode;
    }
    public void setCertificationRequirementNumber(String certificationRequirementNumber) 
    {
        this.certificationRequirementNumber = certificationRequirementNumber;
    }

    public String getCertificationRequirementNumber() 
    {
        return certificationRequirementNumber;
    }
    public void setCertificationRequirementName(String certificationRequirementName) 
    {
        this.certificationRequirementName = certificationRequirementName;
    }

    public String getCertificationRequirementName() 
    {
        return certificationRequirementName;
    }
    public void setRegulatoryName(String regulatoryName) 
    {
        this.regulatoryName = regulatoryName;
    }

    public String getRegulatoryName() 
    {
        return regulatoryName;
    }
    public void setApplicableScope(String applicableScope) 
    {
        this.applicableScope = applicableScope;
    }

    public String getApplicableScope() 
    {
        return applicableScope;
    }
    public void setContentSummary(String contentSummary) 
    {
        this.contentSummary = contentSummary;
    }

    public String getContentSummary() 
    {
        return contentSummary;
    }
    public void setMandatoryClauses(String mandatoryClauses) 
    {
        this.mandatoryClauses = mandatoryClauses;
    }

    public String getMandatoryClauses() 
    {
        return mandatoryClauses;
    }
    public void setOptionalClauses(String optionalClauses) 
    {
        this.optionalClauses = optionalClauses;
    }

    public String getOptionalClauses() 
    {
        return optionalClauses;
    }
    public void setUpdateCycle(String updateCycle) 
    {
        this.updateCycle = updateCycle;
    }

    public String getUpdateCycle() 
    {
        return updateCycle;
    }
    public void setImplementationRecords(String implementationRecords) 
    {
        this.implementationRecords = implementationRecords;
    }

    public String getImplementationRecords() 
    {
        return implementationRecords;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setApplicableScopeRelatedFiles(String applicableScopeRelatedFiles) 
    {
        this.applicableScopeRelatedFiles = applicableScopeRelatedFiles;
    }

    public String getApplicableScopeRelatedFiles() 
    {
        return applicableScopeRelatedFiles;
    }
    public void setResponsiblePerson(String responsiblePerson) 
    {
        this.responsiblePerson = responsiblePerson;
    }

    public String getResponsiblePerson() 
    {
        return responsiblePerson;
    }
    public void setCertificationStatus(String certificationStatus) 
    {
        this.certificationStatus = certificationStatus;
    }

    public String getCertificationStatus() 
    {
        return certificationStatus;
    }
    public void setDeadline(Date deadline) 
    {
        this.deadline = deadline;
    }

    public Date getDeadline() 
    {
        return deadline;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryName", getFactoryName())
            .append("factoryCode", getFactoryCode())
            .append("certificationRequirementNumber", getCertificationRequirementNumber())
            .append("certificationRequirementName", getCertificationRequirementName())
            .append("regulatoryName", getRegulatoryName())
            .append("applicableScope", getApplicableScope())
            .append("contentSummary", getContentSummary())
            .append("mandatoryClauses", getMandatoryClauses())
            .append("optionalClauses", getOptionalClauses())
            .append("updateCycle", getUpdateCycle())
            .append("implementationRecords", getImplementationRecords())
            .append("description", getDescription())
            .append("applicableScopeRelatedFiles", getApplicableScopeRelatedFiles())
            .append("responsiblePerson", getResponsiblePerson())
            .append("certificationStatus", getCertificationStatus())
            .append("deadline", getDeadline())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
